package com.ck.ips.core.config;

import com.ck.core.constant.profile.ProfileConstant;
import com.ck.core.util.SpringContextUtil;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.servlet.MultipartConfigElement;

@Configuration
public class CustomConfig {

	/**
	 * 自定义配置处理类
	 */
	@Bean
	public CustomProperties customProperties() {
		return new CustomProperties();
	}

	/**
	 * 配置文件上传大小限制
	 */
	@Bean
	public MultipartConfigElement multipartConfigElement(SpringContextUtil springContextUtil) {
		MultipartConfigFactory factory = new MultipartConfigFactory();
		//文件最大(MB)
		factory.setMaxFileSize("1024MB");
		// 设置总上传数据总大小(MB)
		factory.setMaxRequestSize("1024MB");
        String activeProfile = springContextUtil.getActiveProfile();
        if(!activeProfile.equalsIgnoreCase(ProfileConstant.DEV)){
            // 设置文件的临时目录（默认为tmp/tomcat* 如果在长时间没有使用的情况下会被linux系统自动删除，导致上传时找不到对应的文件件）
            factory.setLocation("/data/tmpupload");
        }
		return factory.createMultipartConfig();
	}
}
